package tsli.acm.ctrl;

import java.text.DecimalFormat;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import tsli.acm.dao.*;
import tsli.acm.database.Database;
import tsli.acm.model.GAAgentStructure;
import tsli.acm.model.SFCCommissionPositive;

public class AVPComponentAPIMethod {
//	private String vaClosYm = "";
//	public AVPComponentAPIMethod(){
//		
//	}
//	
//	public void calculateAVP() throws ParseException{
//		Database db = new Database();
//		GAAgentStructureDAO voGAAgentStructureDAO = new GAAgentStructureDAO(db);
//		
//
//		String[] voDataProductionPart = voGAAgentStructureDAO.getPersistencyBonusForAVP("221200836","2014").split("/");
//		double vnPersistencyBonus = Double.parseDouble(voDataProductionPart[0]);
//		double vnRYP2_6 = Double.parseDouble(voDataProductionPart[1]);
//		double vnPersistencyRate = Double.parseDouble(voDataProductionPart[2]);
//		double vnBonusRate = Double.parseDouble(voDataProductionPart[3]);		
//		DecimalFormat voDecimalFormat = new DecimalFormat("#,###.##");
//		
//		// AFYP >= 90000
//		List<GAAgentStructure> voGAAgentStructureList = new ArrayList<GAAgentStructure>();
//		List<Map<String, Object>> voGAAgentStructureResult = voGAAgentStructureDAO.findAVPData("221200836","2015");
//		for (int i = 0; i < voGAAgentStructureResult.size(); i++) {
//			Map<String, Object> voObject = voGAAgentStructureResult.get(i);
//			GAAgentStructure voGAAgentStructure = new GAAgentStructure();
//			voGAAgentStructure.setVaPeNoMm( voObject.get("PE_NO_MM").toString());
//			voGAAgentStructure.setVaClosYm( voObject.get("CLOS_YM").toString());
//			//setVaPeNoBm is mean SUM of AFYP 
//			voGAAgentStructure.setVaPeNoBm( voObject.get("AFYP").toString());			
//			voGAAgentStructureList.add(voGAAgentStructure);
//		}
//	
//		// print result
//		System.out.println("ARYP 2 - 6 : "+voDecimalFormat.format(vnRYP2_6));
//		System.out.println("Persistency Rate : "+voDecimalFormat.format(vnPersistencyRate));
//		System.out.println("Bonus Rate : "+voDecimalFormat.format(vnBonusRate));
//		System.out.println("Persistency Bonus : "+voDecimalFormat.format(vnPersistencyBonus));
//		
//		System.out.println("==========================================================================================");
//		double vnMonth1 = 0.0, vnMonth2 = 0.0, vnMonth3 = 0.0, vSumAFYP = 0.0;
//		String vaPayM1 = "",vaPayM2 = "",vaPayM3 = "";
//		System.out.println( "\t\t  AFYP-C ขั้นต่ำ \t\t\tAFYP-C ทำได้จริง \t\t Persistency Bonus \t \t");
//		System.out.println( "เดือน \t\t ต่อเดือน \t ต่อไตรมาส \t \t ต่อเดือน \t\tต่อไตรมาส \t\tจ่าย/ไม่จ่าย \t จำนวนเงิน");
//		for (int i = 0; i < voGAAgentStructureList.size(); i++){
//			double vnPeNoMM = Double.parseDouble( voGAAgentStructureList.get(i).getVaPeNoMm());
//			String vaClosYM = voGAAgentStructureList.get(i).getVaClosYm();
//			double vnAFYP = Double.parseDouble( voGAAgentStructureList.get(i).getVaPeNoBm());
//			
//			if (i == 0 || i == 3 || i == 6 || i == 9){
//				if ( vnAFYP >= 90000){
//					vnMonth1 = vnPersistencyBonus;
//					vaPayM1 = "จ่าย";
//				} else {
//					vnMonth1 = 0;
//					vaPayM1 = "ไม่จ่าย";
//				}
//
//				vSumAFYP +=vnAFYP;
//				String vaSumTemp = voDecimalFormat.format(vSumAFYP);
//				System.out.println(vaClosYM+"\t\t90,000 \t 90,000 \t"+vnAFYP+"\t"+vaSumTemp+" \t"+vaPayM1+"\t"+voDecimalFormat.format(vnMonth1));
//			} else if (i == 1 || i == 4 || i == 7 || i == 10){
//				if( vnAFYP >= 90000){
//					vnMonth2 = vnPersistencyBonus;
//					if ( vnAFYP >= 180000 && vnMonth1 == 0){
//						vnMonth1 = vnPersistencyBonus;
//					}
//					vaPayM2 = "จ่าย";
//				} else {
//					vnMonth2 = 0;
//					vaPayM2 = "ไม่จ่าย";
//				}
//
//				vSumAFYP +=vnAFYP;
//				String vaSumTemp = voDecimalFormat.format(vSumAFYP);
//				System.out.println(vaClosYM+"\t\t90,000 \t 180,000 \t"+vnAFYP+"\t"+vaSumTemp+" \t"+vaPayM2+"\t"+voDecimalFormat.format(vnMonth2));
//			} else if( i== 2 || i== 5 || i== 8 || i == 11){
//				if ( vnAFYP >= 90000 ){
//					vnMonth3 = vnPersistencyBonus;
//					if ( vnAFYP >= 270000 && vnMonth2 == 0 &&  vnMonth1 == 0){
//						vnMonth1 = vnPersistencyBonus;
//						vnMonth2 = vnPersistencyBonus;
//					}
//					vaPayM3 = "จ่าย";
//				} else {
//					vnMonth3 = 0;
//					vaPayM3 = "ไม่จ่าย";
//				}
//
//				vSumAFYP +=vnAFYP;
//				String vaSumTemp = voDecimalFormat.format(vSumAFYP);
//				System.out.println(vaClosYM+"\t\t90,000 \t 270,000 \t"+vnAFYP+"\t"+vaSumTemp+"\t"+vaPayM3+"\t"+voDecimalFormat.format(vnMonth3));
//				vSumAFYP = 0;
//			}
//		}		
//		db.close();
//	}
}
